package com.joekai.base_library.http.interfaces;

import android.content.Context;

import com.joekai.base_library.http.BaseObserver;
import com.joekai.base_library.http.FileCallBack;

import java.io.File;
import java.util.List;
import java.util.TreeMap;

/**
 * author:  JoeKai
 * date: 2022/6/30 22:04
 * content：
 */
public interface IHttpRequest {
    // Get请求（使用Path形式）
    void mHttpGetPath(String url, BaseObserver mCallBack);

    // GET请求(无参)
    void mHttpGet(String api, BaseObserver mCallBack);

    // Get请求(带参)
    void mHttpGet(String api, TreeMap map, BaseObserver mCallBack);

    // Post请求(无参)
    void mHttpPost(Context context, String api, BaseObserver mCallBack);

    // Post请求(带参)
    // 以RequestBody方式提交
    void mHttpPost(Context context, String api, TreeMap map, BaseObserver mCallBack);

    // Post请求(包含数组)
    void mHttpPost(Context context, String api, TreeMap treeMap, String[] data, BaseObserver mCallBack);

    // 单文件上传
    void mHttpFile(Context context, String api, File file, String fileKey, TreeMap map, BaseObserver mCallBack);

    // 多文件上传
    void mHttpMultiFile(Context context, String api, List<File> list, List<String> fileList, TreeMap map, BaseObserver mCallBack);
}
